package com.pubinfo.passbook.common.service.dubbo;

import com.pubinfo.passbook.common.model.bo.eip.ReceiveTaskParam;
import com.pubinfo.passbook.common.model.bo.eip.ReceiveTaskResult;
import com.pubinfo.passbook.common.model.bo.uccp.ShortMessageParam;
import com.pubinfo.passbook.common.model.dubbo.ESBServiceData;
import com.pubinfo.passbook.common.model.shortMessage.QueryMessageBodyParam;
import com.pubinfo.passbook.common.model.shortMessage.QueryMessageReply;
import com.pubinfo.passbook.common.model.vo.base.JsonResult;

import java.util.Collection;

public interface DubboService {
  
  /**
   * 根据身份证号,获取人员状态
   *
   * @param idNo
   * @return
   */

  String getPersonsDetailByStatus(String idNo);
  
  String getUserNsrsbhByAcct(String acct);
  
  ESBServiceData.CertDetail getPersonsDetailByIdNo(String idNo);
  
  /**
   * 根据身份证号,获取人员账号
   *
   * @param idNo
   * @return
   */
  String getPersonsDetailByAcct(String idNo);
  
  JsonResult<Collection<ESBServiceData.CertDetail>> getPersonsDetailByAcct(ESBServiceData.Cert cert);
  
  /**
   * 发送短信服务,返回是否成功
   *
   * @param param
   * @return
   */
  Boolean sendShortMessage(ShortMessageParam param);
  
  QueryMessageReply queryMessage(QueryMessageBodyParam param);
  
  ReceiveTaskResult receiveTaskInfo(ReceiveTaskParam taskParam);
  
  ReceiveTaskResult finishedTask(String taskId);
}
